export default {
    /**
     * 数字验证
     */
    isNumber(rule, value, callback) {
      if (!value) { //当使用时没有定义text则非空验证默认提示请输入
        callback(new Error(rule.text ? rule.text : '请输入'));
      } else {
        // const reg = /^[0-9]*$/
        const reg = /^[+-]?\d+(?:\.\d{1,4})?$/
        if (reg.test(value) && value >= 0) {
          callback();
        } else {
          if (!String(value).indexOf(".") + 1) {
            callback(new Error('请输入数字!'));
          } else {
            callback(new Error('仅支持小数点后4位!'));
          }
        }
      }
    },
    // 非空不效验
    isNumber2(rule, value, callback) {
      if (!value) { //当使用时没有定义text则非空验证默认提示请输入
        callback();
      } else {
        const reg = /^[+-]?\d+(?:\.\d{1,4})?$/
        if (reg.test(value) && value >= 0) {
          callback();
        } else {
          if (!String(value).indexOf(".") + 1) {
            callback(new Error('请输入数字!'));
          } else {
            callback(new Error('仅支持小数点后4位!'));
          }
        }
      }
    },
    /**
     * 只能包含由汉字、字母、数字，以及 - 和 _
     */
    isStr(rule, value, callback) {
      if (!value) {
        callback(new Error(rule.text ? rule.text : '请输入'));
      } else {
        const reg = /^[\u4e00-\u9fa5\w\d-_]+$/
        if (reg.test(value)) {
          callback();
        } else {
          callback('包含非法字符');
        }
      }
    },
  
    /**
     * 手机号验证 （11位数字，以1开头。）
     */
    isPhone(rule, value, callback) {
      if (!value) {
        callback(new Error(rule.text ? rule.text : '请输入手机号'));
      } else {
        const reg = /^1\d{10}$/
        if (reg.test(value)) {
          callback();
        } else {
          callback('手机号格式不正确');
        }
      }
    },
  
   
  
  
    /**
     * 验证身份证号码（15位或18位数字）
     */
    isIdNumber(rule, value, callback) {
      if (!value) {
        callback(new Error(rule.text ? rule.text : '请输入身份证号码'));
      } else {
        const reg = /^\d{15}|\d{}18$/
        if (reg.test(value)) {
          callback();
        } else {
          callback('身份证号码格式不正确');
        }
      }
    },
      /**
     * 登录密码 （密码8-64位，必须包含大写字母，小写字母，数字及特殊字符）
     */
      isPassword(rule, value, callback) {
        if (!value) {
          callback(new Error(rule.message ? rule.message : '请输入密码'));
        } else {
          const reg = /^.*(?=.{8,64})(?=.*\d)(?=.*[A-Z]{1,})(?=.*[a-z]{1,})(?=.*[!@#$%^&*?\(\)]).*$/
          if (reg.test(value)) {
            callback();
          } else {
            callback('密码格式不正确');
          }
        }
      },
       /**
     * 中文、数字和英文（姓名）
     */
       isName(rule, value, callback) {
        if (!value) {
          callback(new Error(rule.message ? rule.message : '请输入姓名'));
        } else {
          const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+$/
          if (reg.test(value)) {
            callback();
          } else {
            callback('姓名格式不正确');
          }
        }
      },
       /**
     * 中文、数字和英文（账户名）
     */
       isUser(rule, value, callback) {
        if (!value) {
          callback(new Error(rule.message ? rule.message : '请输入账户名'));
        } else {
          const reg = /^[A-Za-z0-9\u4e00-\u9fa5]+$/
          if (reg.test(value)) {
            callback();
          } else {
            callback('账户名格式不正确');
          }
        }
      }
  }
  
  